import router from '@/router'
import { store } from '@/store/store'
import { useStorage } from 'vue3-storage'
import { ACCESS_TOKEN } from '@/utils/constant'

const storage = useStorage()
// import { useStore } from '@/store/store'
// const store = useStore()
const defaultRoutePath = '/'
const defaultLoginPath = '/login'

// router.beforeEach(async (to, from, next) => {
//   // 请求 /login
//   console.log('请求：', to.path)
//   if (to.path === defaultLoginPath) {
//     window.location.href = `${import.meta.env.VITE_API_BASE_PATH}/auth/render?redirect_uri=${encodeURIComponent(import.meta.env.VITE_REDIRECT_URI)}`
//     return
//   }
//   if (to.path === '/authorized') {
//     if (!to.query.code) {
//       next({ path: defaultRoutePath })
//       return
//     }
//     try {
//       await store.dispatch('CodeLogin', { ...to.query })
//       await store.dispatch('GetInfo')
//     } catch (e) {
//       next({ path: defaultRoutePath })
//       return
//     }
//     if (to.query.state && storage.getStorageSync(`history-${to.query.state}`)) {
//       const { path: historyPath, query: historyQuery } = storage.getStorageSync(`history-${to.query.state}`)
//       next({ path: historyPath, query: historyQuery })
//     } else {
//       next({ path: defaultRoutePath })
//     }
//     return
//   }
//   if (to.path === '/logout') {
//     await store.dispatch('Logout')
//     window.location.href = `${import.meta.env.VITE_API_BASE_PATH}/auth/logout?redirect_uri=${import.meta.env.VITE_REDIRECT_URI}`
//     return
//   }
//   const toNext = async () => {
//     if (to.meta && to.meta.permission) {
//       const requirePermission = to.meta.permission
//       console.log('需要权限：', requirePermission)
//       const isSuperAdmin = store.getters.isSuperAdmin
//       console.log('是否是超级管理员：', isSuperAdmin)
//       if (isSuperAdmin) {
//         next()
//         return
//       }
//       const permissions = store.getters.permissions
//       console.log('已有权限：', permissions)
//       if (permissions.indexOf(requirePermission) !== -1) {
//         console.log('next()')
//         next()
//         return
//       }
//       next({ path: defaultRoutePath })
//     } else {
//       next()
//     }
//   }
//   // 无token
//   if (!storage.getStorageSync(ACCESS_TOKEN)) {
//     console.log('无token')
//     next({ path: defaultLoginPath })
//     return
//   }
//   // 已有用户信息
//   if (store.getters.userInfo) {
//     console.log('已有用户信息')
//     next()
//     return
//   }
//   console.log('有token，无用户信息')
//   try {
//     await store.dispatch('GetInfo')
//     next()
//   } catch (e) {
//     next('/logout')
//   }
// })

router.afterEach(() => {
})
